package it.unitn.testbed.client;

import java.util.Date;

import it.unitn.testbed.client.common.BriefTaskComponent;
import it.unitn.testbed.client.common.MoteConfig;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of {@link TestbedService}
 */
public interface TestbedServiceAsync {

	void getTaskComponents(AsyncCallback<BriefTaskComponent[]> callback);

	void getTestbedConfig(AsyncCallback<MoteConfig[]> callback);

	void removeTaskComponent(long id,
			AsyncCallback<BriefTaskComponent[]> callback);

	void submitTask(int duration, AsyncCallback<Date> callback);

	void newTask(AsyncCallback<Void> callback);
}
